Video ad delivery using configurable video ad policies

ABSTRACT

Systems and methods for video ad delivery using configurable dynamic video ad policies are provided. A system for delivering video ads to a video client may include an ad platform service. The ad platform service may have a media registration module configured to receive input data including a video ad policy and associated metadata and digital video content from a digital video content client. The ad platform service may further include a registration database configured to store input data received from the media registration module. The ad platform service may further include a manifest service and an associated manifest generation engine, wherein the manifest service may be configured to receive an ad manifest request from a video client. In response, the manifest generation engine may be configured to generate a manifest instance based on input data received at the manifest service, the manifest service being configured to send the manifest instance to the video client.

BACKGROUND

According to current techniques for distribution of televisionadvertisements, advertising breaks are defined according to a schedule.Television programs are designed to accommodate the schedule ofadvertising breaks. When the time for an advertising break comes, thetelevision program ceases to be shown to viewers, and one or moreadvertisements are shown instead. At the end of the advertising break,the television program may resume, or another television program maystart.

One drawback with this model of television advertisement distribution isthat the producer of the television program cannot control theoccurrence or timing of the advertising breaks, which can lead toincongruous, inappropriate, or ineffective advertisements beingdisplayed to viewers. Advertising breaks according to a fixed schedulecan be disruptive to the natural flow of a television program. Forexample, sports leagues have gone so far as to change the rules of thegame to accommodate so called “television time-outs”. As a result, theviewer experience may be degraded, and the effectiveness of theadvertisements may decrease.

SUMMARY

Systems and methods for video ad delivery using configurable video adpolicies are provided. A system for delivering video ads to a videoclient may include an ad platform service executable on an advertisingserver. The ad platform service may have a media registration moduleconfigured to receive input data including a video ad policy andassociated metadata and digital video content from a digital videocontent client. The ad platform service may further include aregistration database configured to store input data received from themedia registration module. The ad platform service may further include amanifest service and an associated manifest generation engine, whereinthe manifest service may be configured to receive an ad manifest requestfrom a video client. In response, the manifest generation engine may beconfigured to generate a manifest instance based on input data receivedat the manifest service, the manifest service being configured to sendthe manifest instance to the video client.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Furthermore,the claimed subject matter is not limited to implementations that solveany or all disadvantages noted in any part of this disclosure.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a schematic view of an embodiment of a system fordelivering video ads to a video client.

FIG. 2 shows a flowchart for an embodiment of a method for deliveringvideo ads to a video client.

DETAILED DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a schematic view of an embodiment of a system 100configured to deliver video ads 150 to a video client 102 executed on aviewer device 103. The system 100 may include an ad platform service 104executed on an advertising server 144. The ad platform service 104 mayinclude a media registration module 106 configured to receive input data108 from a digital video content client 110 executed on a contentprovider computing device 111. The input data 108 may include a video adpolicy 112 including ad policy parameters 114, and associated metadata116 and digital video content 118 originating from the digital videocontent client 110. Thus, as illustrated in this example, the digitalvideo content client 110 may include a video ad policy module 120configured to enable a content provider to generate a video ad policy112 with ad policy parameters 114, and a content module 122 configuredto enable the content provider to specify associated metadata 116 (e.g.,ad placement and ad type information) and digital video content 118(e.g., a video program such as a television show, movie, or videosegment).

Ad policy parameters 114 may include ad/program ratio (e.g., a ratiobetween the length of the ad to be displayed and the video content 118),ad duration, ad type (e.g., ad format, such as rolling text or graphicoverlay), ad replay policy (e.g., how frequently the ad can be played),maximum number of ad pods (e.g., ad breaks) to be allowed duringplayback of the content 118, maximum ads per ad pod, enablement ofdisplay of ads prior to starting the content 118 (“pre-roll enablement”)and after finishing display of the content 118 (“post-roll enablement”),sponsored ad rules, “click to continue” option (e.g., whether user isallowed to click a button on the viewer device 103 to continue withdigital video content 118 without completion of the display of the ad),and/or ad skip threshold (e.g., a number of advertisements a user isallowed to skip during playback of the content, or a duration of adbefore user is allowed to skip the remainder of the ad).

The ad platform service 104 may also include a registration database124, such that the registration database 124 can store input data 108received from the media registration module 106. The ad platform service104 may also include a manifest service 126 and an associated manifestgeneration engine 128.

During use of the video client 102, video client 102 may receive userinput indicating that specified digital content 118 and metadata 116 isto be downloaded or streamed to the video client 102. The content 118and metadata 116 may be stored at a media server 105, for example, whichmay be part of a separate server system or integrated with theadvertising server 144. In response to the user input to download orstream the digital content 118 and metadata 116, the video client 102 isconfigured to send a request 160 to the media server 105, and to receivea response 162 containing the content 118 and metadata 116.

In addition, upon receiving the user input to download or streamspecified content 118, the video client 102 may send an ad manifestrequest 130, for a specified digital video content 118, to the manifestservice 126 over the computer network 132. The manifest service 126 maybe configured to receive the ad manifest request 130 from the videoclient 102 over the computer network 132, and in response, the manifestgeneration engine 128 may be configured to generate a manifest instance134. The manifest service 126 may receive this ad manifest request 130,and thereby request input data 108 associated with the specified digitalvideo content 118 from the registration database 124. The manifestservice 126 may receive the desired input data 108 from the registrationdatabase 124 and thus generate a manifest instance 134 based on theinput data 108. The manifest instance 134 may include a rule set thatgoverns the display of ads on the video client 102 for the particularviewing instance of the content 118. If the manifest instance 134 hasbeen generated, the manifest service 126 may be configured such that itmay send the manifest instance 134 over the computer network 132 to thevideo client 102 for subsequent use by the video client 102.

Thus it will be appreciated that during presentation of content 118,such as a video file or streaming video program, an ad may be scheduledfor presentation according to the manifest instance 134, and playback ofthe content 118 may be temporarily suspended at the scheduled time forthe playback of one or more ads, or alternatively the playback maycontinue and the ad may be presented adjacent or overlaid on the content118, according to metadata 116. The selection of ads, timing andplacement is determined according to the manifest instance 134, whichhas been generated based on the content provider's specified video adpolicy.

As mentioned above, the manifest instance 134 is generated based on adpolicy parameters 114 of the video ad policy 112. One way in which adpolicy parameters 114 may be defined is based on temporal parameters,such as time of day, and/or day of the year. Thus, in one example, usingthe ad policy parameters 114, the manifest instance 134 may specify thatduration of ads is shorter for television programs broadcasting onweekday evenings compared to weekday afternoons.

Ad policy parameters 114 can be further defined based on one or morevideo client parameters 152, which may be received at the digital videocontent client 110 from the developer of the video client 102, astandards body, or other source, for example. Video client parameters152 may include a type of video client. The type of video client mayinclude video clients configured to be executed on a variety of viewerdevices, including a set-top box, which is an input device that connectsdirectly to a television set, a mobile phone, a personal computer,gaming system, and handheld personal digital assistant, for example.Thus, in one example, the manifest instance 134 may specify that the“click to continue” option is not available for ads sent to a televisionset and that the “click to continue” option is available for ads sent toa personal computer.

Other video client parameters 152 may include a number of video clients,wherein the number of video clients may include the number of concurrentvideo clients viewing the content 118 concurrently, the number ofaggregate video clients viewing all content available, and/or the numberof video clients over a predetermined time period. Thus, one examplemanifest instance 134 may specify that the ad/program ratio is higherwhen there are a greater number of concurrent video clients, based onthe ad policy parameters 114 associated with the digital video content118.

Further still, the ad policy parameters 114 may be based on video clientparameters 152 including user characteristics associated with the videoclient 102 (e.g., user demographic, user viewing behavior). In anotherexample, ad policy parameters 114 may be based on video clientparameters 152 including a digital video content replay policy, whereina digital video content replay policy may include the aggregate numberof replays of a digital video content 118. That is, the manifestinstance 134 may specify that the maximum number of ad pods may beincreased for a video program that has a low replay frequency, as oneexample.

It may be appreciated that the ad policy parameters 114 may bedynamically re-definable or configurable to enable the digital videocontent client 110 to modify the video ad policy 112 by updating one ormore ad policy parameters 114, wherein the updating of one or more adpolicy parameters 114 does not conflict with the pre-existing video adpolicy and wherein the updating may include adding one or more new adpolicy parameters 114. For example, the video ad policy may be XMLformat such that the addition of a new condition for a video ad policyparameter value or state does not negate a previous condition for thesame ad policy parameter value or state. That is, as one example, if afirst condition of the video ad policy 112 specifies that a videoprogram with many viewers has a high ad/program ratio and a secondcondition of the video ad policy 112 is added to specify that a videoprogram with a low replay policy has a high ad/program ratio, the secondcondition does not nullify the first condition. Rather, either conditionor both conditions combined may result in a high ad/program ratio. Inthis way, the addition of one or more new ad policy parameters does notconflict with the pre-existing video ad policy.

The manifest instance 134 received at the video client 102 from themanifest service 126 may enable the video client 102 to send an adrequest 146 to an ad delivery engine 148 associated with the ad platformservice 104. Further, the manifest instance 134 may enable the videoclient 102 to receive one or more ads 150 from the ad delivery engine148 responsive to the ad request 146. In one example, this may be donesuch that the video client 102 may request and receive ads 150 fordisplay on a television. It may be appreciated that the ads 150 receivedat the video client 102 may thus be based on the manifest instance 134received at the video client 102.

As illustrated in FIG. 1, the ad delivery engine 148 is a component ofthe in the ad platform service 104. In other examples, the ad deliveryengine 148 may exist on the advertising server 144 outside of the adplatform service 104. In yet another example, an ad delivery engine mayexist on another computing device that the video client 102 cancommunicate with over computer network 132.

It will be appreciated that the ad platform service 104 and its varioussoftware components described above may be stored in a mass storage 136and executed on a processor 138 using portions of memory 140 and mayfurther be configured to communicate with software on other computingdevices across one or more computer networks 132, via input/outputmodule 142. It will further be appreciated that the advertising server144 may be a single server, or multiple distributed serversinteroperating across one or more computer networks 132 (e.g., Localarea network, Internet, etc.), and the components of ad platform service104 may be implemented on these distributed devices. In alternateexamples, several different computer networks may be used fortransmission of data, manifest requests, manifest instances, adrequests, ads, etc.

Turning now to FIG. 2, a flowchart illustrating an embodiment of amethod 200 for delivering video ads to a video client executed on aviewer device is shown. Here, there are three columns, whichrespectively illustrate actions taking place at the ad platform service104, the video client 102, and the digital video content client 110.

As illustrated at 202, the method may include defining ad policyparameters at a digital video content client executed on a contentprovider computing device. At 204 the method may include receiving, fromthe digital video content client, input data including the video adpolicy and associated metadata and digital video content, at the mediaregistration module of an ad platform service executed on an advertisingserver. Defining at 202 and receiving at 204 may occur, for example, ina content and ad policy registration phase of the method.

In a use phase of the method 200, the method may include, at 206,sending an ad manifest request from the video client to a manifestservice of the ad platform service. At 208, the method may includereceiving, from the video client, the ad manifest request at themanifest service of the ad platform service. At 210, the method mayinclude generating, in response to the ad manifest request, a manifestinstance at the manifest service based on the input data associated withthe ad manifest request. At 212, the method may further include sendingthe manifest instance to the video client, from the manifest service ofthe ad platform, responsive to the ad manifest request.

At 214, the method may include receiving, at the video client, themanifest instance from the manifest service of the ad platform service,responsive to the ad manifest request. At 216, the method may includesending an ad request to an ad delivery engine based on the manifestinstance.

At 218, the method may further include receiving, from the video client,an ad request at an ad delivery engine associated with the ad platformservice. At 220, the method may include sending one or more ads from thead delivery engine of the ad platform service to the video client,responsive to an ad request.

At 222, the method may include receiving, at the video client, one ormore ads from the ad delivery engine based on the manifest instance,responsive to the ad request.

As described above, the video ad policy may include ad policy parametersincluding one or more of ad/program ratio, ad duration, ad type, maximumnumber of ad pods, maximum ads per ad pod, pre-roll and post-rollenablement, sponsored ad rules, “click to continue” option, and ad skipthreshold. Further, the ad policy parameters may be dynamicallyre-definable or configurable to enable the digital video content clientto modify the video ad policy by adding one or more new ad policyparameters, wherein the addition of one or more new ad policy parametersdoes not conflict with the pre-existing video ad policy.

It will be appreciated that the ad policy parameters may be based on avariety of factors, including temporal parameters, and/or on one or morevideo client parameters, as described above. The video client parametersmay include a type of viewer device on which the video client isconfigured to be executed, such as a set-top box, a mobile phone, apersonal computer, gaming system, and handheld personal digitalassistant. Further, the video client parameters may include a number ofvideo clients, wherein the number of video clients may include one ormore of the number of concurrent video clients, the number of aggregatevideo clients, the number of video clients over a predetermined timeperiod, as described above.

Further, the video client parameters may include one or more of usercharacteristics associated with the video client, and a digital videocontent replay policy, wherein a digital video content replay policy mayinclude the aggregate number of replays of a digital video content. Themetadata associated with the content may include ad placement and adtype information, which may specify how the ad is to be placed and thetype of ad, as described above.

The above described systems and methods may enable a content provider tospecify, and in some cases dynamically change, a video ad policygoverning ad selection and presentation for playback of the content on aviewer device. This may increase the appropriateness of the ad timingand selection, and in some cases enable the content provider to give theuser an option regarding whether to view an ad. The result may be anenhanced viewing experience and an increase in the effectiveness of adspresented to viewers.

It will be appreciated that the computing devices described herein maybe any suitable computing device configured to execute the programsdescribed herein. For example, the computing devices may be a mainframecomputer, personal computer, laptop computer, portable data assistant(PDA), computer-enabled wireless telephone, networked computing device,or other suitable computing device, and may be connected to each othervia computer networks, such as the Internet. These computing devicestypically include a processor and associated volatile and non-volatilememory, and are configured to execute programs stored in non-volatilememory using portions of volatile memory and the processor. As usedherein, the term “program” refers to software or firmware componentsthat may be executed by, or utilized by, one or more computing devicesdescribed herein, and is meant to encompass individual or groups ofexecutable files, data files, libraries, drivers, scripts, databaserecords, etc. It will be appreciated that computer-readable media may beprovided having program instructions stored thereon, which uponexecution by a computing device, cause the computing device to executethe methods described above and cause operation of the systems describedabove.

It should be understood that the embodiments herein are illustrative andnot restrictive, since the scope of the invention is defined by theappended claims rather than by the description preceding them, and allchanges that fall within metes and bounds of the claims, or equivalenceof such metes and bounds thereof are therefore intended to be embracedby the claims.

The invention claimed is:
 1. A system for delivering video ads to avideo client, the system comprising an ad platform service executable onan advertising server, the ad platform service including: a mediaregistration module configured to receive input data including a videoad policy and associated metadata and digital video content from adigital video content client of a content provider, the video ad policydefined based on a plurality of video client parameters and a pluralityof ad policy parameters, the plurality of video client parametersincluding a number of video clients and a type of viewer device on whichthe video client is configured to be executed, wherein the number ofvideo clients includes one or more of a number of concurrent videoclients, a number of aggregate video clients, and a number of videoclients over a predetermined time period, and wherein the associatedmetadata specifies an ad placement position in the digital video contentand one or more conditions that trigger a dynamic change in one or moreof the plurality of ad policy parameters that define the video adpolicy; a registration database configured to store input data receivedfrom the media registration module; and a manifest service and anassociated manifest generation engine, wherein the manifest service isconfigured to receive an ad manifest request from a video clientexecuted on a viewer device of a user, where the ad manifest request isreceived from the video client after the video client has received userinput to download or stream the digital video content, and in responseto receiving the ad manifest request, the manifest generation engine isconfigured to generate an ad manifest instance based on the type of theviewer device of the user, the ad manifest instance specifyingdevice-specific ad functionality included or omitted in an ad based onthe type of viewer device, and the input data received at the mediaregistration module from the content provider and stored in theregistration database, wherein if the one or more conditions haveoccurred, the ad manifest instance is generated to include an updatedvideo ad policy having one or more dynamically changed ad policyparameters that govern display of ads on the video client for aparticular viewing instance of the digital video content, and wherein ifthe one or more conditions have not occurred, the ad manifest instanceis generated to include the video ad policy including the plurality ofad policy parameters originally specified at registration of the digitalvideo content that governs display of ads on the video client for aparticular viewing instance of the digital video content, the manifestservice being configured to send the ad manifest instance to the videoclient; wherein the ad manifest instance sent to the video clientenables the video client to send an ad request to an ad delivery engineassociated with the ad platform service and further enables the videoclient to receive one or more ads from the ad delivery engine responsiveto the ad request, where the one or more ads are based on the manifestinstance sent to the video client.
 2. The ad platform service of claim1, wherein the ad policy parameters include one or more of ad/programratio, ad duration, ad type, ad replay policy, maximum number of adpods, maximum ads per ad pod, pre-roll and post-roll enablement,sponsored ad rules, “click to continue” option, and ad skip threshold.3. The ad platform service of claim 2, wherein dynamically changing theone or more dynamically changed ad policy parameters does not conflictwith a pre-existing video ad policy.
 4. The ad platform service of claim3, wherein the ad policy parameters are defined based on temporalparameters.
 5. The ad platform service of claim 1, wherein the type isone or more of a set-top box, a mobile phone, a personal computer, agaming system, and a handheld personal digital assistant.
 6. The adplatform service of claim 1, wherein the plurality of video clientparameters further include one or more of user characteristicsassociated with the video client and a digital video content replaypolicy, wherein the digital video content replay policy may include anaggregate number of replays of the digital video content.
 7. The adplatform service of claim 1 wherein metadata includes ad typeinformation.
 8. A method for delivering video ads to a video client, themethod comprising, at an advertising server: receiving, from a digitalvideo content client of a content provider, input data including a videoad policy and associated metadata and digital video content, at a mediaregistration module of an ad platform service, the video ad policy beingdefined based on a plurality of ad policy parameters and a plurality ofvideo client parameters, the plurality of client parameters including anumber of video clients and a type of viewer device on which the videoclient is configured to be executed, wherein the number of video clientsincludes one or more of a number of concurrent video clients, a numberof aggregate video clients, and a number of video clients over apredetermined time period, and wherein the associated metadata specifiesan ad placement position in the digital video content and one or moreconditions that trigger a dynamic change in one or more of the pluralityof ad policy parameters that define the video ad policy; storing theinput data from the registration module in a registration database;receiving, from a video client executed on a viewer device, an admanifest request at a manifest service of the ad platform service, wherethe ad manifest request is received from the video client after thevideo client has received user input to download or stream the digitalvideo content; generating, in response to the ad manifest request, an admanifest instance at the manifest service based on the type of theviewer device, the ad manifest instance specifying device-specific adfunctionality included or omitted in an ad based on the type of viewerdevice, and the input data from the registration database associatedwith the ad manifest request, wherein if the one or more conditions haveoccurred, the ad manifest instance is generated to include an updatedvideo ad policy having one or more dynamically changed ad policyparameters that govern display of ads for the ad manifest instance, andwherein if the one or more conditions have not occurred, the ad manifestinstance is generated to include the video ad policy including theplurality of ad policy parameters originally specified at registrationof the digital video content; and sending the ad manifest instance tothe video client, from the manifest service of the ad platform,responsive to the ad manifest request; receiving, from the video client,an ad request at an ad delivery engine associated with the ad platformservice, the ad request being based on the ad manifest instance; andsending one or more ads from the ad delivery engine of the ad platformservice to the video client, responsive to the ad request, where the oneor more ads are based on the ad manifest instance sent to the videoclient.
 9. The method of claim 8, wherein the plurality of ad policyparameters includes one or more of ad/program ratio, ad duration, adtype, maximum number of ad pods, maximum ads per ad pod, pre-roll andpost-roll enablement, sponsored ad rules, “click to continue” option,and ad skip threshold, and wherein the ad policy parameters aredynamically re-definable to enable the digital video content client tomodify a pre-existing video ad policy by adding one or more new adpolicy parameters, wherein the addition of one or more new ad policyparameters does not conflict with the pre-existing video ad policy. 10.The method of claim 9, wherein the plurality of ad policy parameters arefurther based on temporal parameters.
 11. The method of claim 8, whereinthe type of viewer device is one or more of a set-top box, a mobilephone, a personal computer, a gaming system, and a handheld personaldigital assistant.
 12. The method of claim 8, wherein the plurality ofvideo client parameters further include one or more of usercharacteristics associated with the video client and a digital videocontent replay policy, wherein the digital video content replay policymay include an aggregate number of replays of the digital video content.13. The method of claim 8, wherein metadata includes ad typeinformation.
 14. A method for use in display of video ads on a videoclient executed on a viewer device, the method comprising: sending, inresponse to user input to download or stream digital content andmetadata, a request to a media server, the metadata specifying an adplacement position in the digital content; receiving a response from themedia server, responsive to the request, wherein the response containsthe digital content and metadata; sending an ad manifest request to amanifest service of an ad platform service executed on an advertisingserver, wherein the ad manifest request is based on the digital contentand metadata; receiving an ad manifest instance from the manifestservice of the ad platform service, responsive to the ad manifestrequest, wherein the ad manifest instance is created by the manifestservice based on a type of the viewer device, the ad manifest instancespecifying device-specific ad functionality included or omitted in an adbased on the type of viewer device, and input data received from aregistration database, wherein the input data includes a video ad policyreceived from a digital video content client of a content provider andone or more conditions that trigger a dynamic change in the video adpolicy, wherein the video ad policy includes a plurality of ad policyparameters that govern display of ads with the digital content, the adpolicy parameters being dynamically re-definable to enable the digitalvideo content client to modify a pre-existing video ad policy by addingone or more new ad policy parameters, wherein the addition of one ormore new ad policy parameters does not conflict with the pre-existingvideo ad policy, wherein if the one or more conditions have occurred,the ad manifest instance is generated to include an updated video adpolicy having one or more dynamically changed ad policy parameters thatgovern display of ads for the ad manifest instance, and wherein if theone or more conditions have not occurred, the ad manifest instance isgenerated to include the video ad policy including the plurality of adpolicy parameters originally specified at registration of the digitalcontent; sending an ad request to an ad delivery engine based on the admanifest instance; and receiving one or more ads from the ad deliveryengine based on the ad manifest instance, responsive to the ad request.15. The ad platform service of claim 1, wherein the one or moreconditions include a total viewership of the digital video contentexceeding a viewership threshold, a time since release of the digitalvideo content exceeding a time threshold, and a time of day being withina designated time range.
 16. The method of claim 8, wherein the one ormore conditions include a total viewership of the content exceeding aviewership threshold, a time since release of the content exceeding atime threshold, and a time of day being within a designated time range.17. The method of claim 14, wherein the one or more conditions include atotal viewership of the digital content exceeding a viewershipthreshold, a time since release of the digital content exceeding a timethreshold, and a time of day being within a designated time range. 18.The method of claim 14, wherein a plurality of ad policy parametersinclude one or more of an ad/program ratio, ad duration, ad type,maximum number of ad pods, maximum ads per ad pod, pre-roll andpost-roll enablement, sponsored ad rules, “click to continue” option,and ad skip threshold.
 19. The method of claim 14, wherein a pluralityof ad policy parameters are defined based on a number of video clientsand a type of viewer device on which a video client is configured to beexecuted, wherein a number of video clients includes one or more of anumber of concurrent video clients, a number of aggregate video clients,and a number of video clients over a predetermined time period.